package com.ssy.lingxi.order.utils;

import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
import cn.hutool.core.codec.Base64;
import lombok.extern.slf4j.Slf4j;
import me.chanjar.weixin.common.error.WxErrorException;

import java.io.File;

/**
 * 二维码工具类
 * @author wyx
 * @version 2.0.0
 * @date 2021-12-02
 */
@Slf4j
public class QRCodeUtil {


    /**
     * 生成小程序码
     * @param appId     小程序ID
     * @param appSecret 秘钥
     * @param params    二维码参数
     * @param page      跳转页面路径
     * @return base64编码
     */
    public static String createMiniAppCode(String appId, String appSecret, String params, String page) throws WxErrorException {
        WxMaService wxMaService = new WxMaServiceImpl();
        WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl();
        config.setAppid(appId);
        config.setSecret(appSecret);
        wxMaService.setWxMaConfig(config);
        File qrcode = wxMaService.getQrcodeService().createWxaCodeUnlimit(params, page, 300, false, null, false);
        return "data:image/jpg;base64," + Base64.encode(qrcode);
    }
}
